Update: added support for structs with a really easy way to create custom converters for custom structs. Some come with the deserializer, like controls(i), i'm still adding in the rest of the system structs.

One thing to note is that the deserializer treats structs alot like arrays, so a 3D array with structs may cause a recursive error like 4D arrays.